/******************************************************************/
/*                                                                */
/*  Winpooch : Windows Watchdog                                   */
/*  Copyright (C) 2004-2005  Benoit Blanchon                      */
/*                                                                */
/*  This program is free software; you can redistribute it        */
/*  and/or modify it under the terms of the GNU General Public    */
/*  License as published by the Free Software Foundation; either  */
/*  version 2 of the License, or (at your option) any later       */
/*  version.                                                      */
/*                                                                */
/*  This program is distributed in the hope that it will be       */
/*  useful, but WITHOUT ANY WARRANTY; without even the implied    */
/*  warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR       */
/*  PURPOSE.  See the GNU General Public License for more         */
/*  details.                                                      */
/*                                                                */
/*  You should have received a copy of the GNU General Public     */
/*  License along with this program; if not, write to the Free    */
/*  Software Foundation, Inc.,                                    */
/*  675 Mass Ave, Cambridge, MA 02139, USA.                       */
/*                                                                */
/******************************************************************/

#ifndef _HOOK_FILE_H
#define _HOOK_FILE_H

#include <windows.h>


//BOOL	WINAPI	Hook_CopyFileA		(LPCSTR, LPCSTR, BOOL) ;
//BOOL	WINAPI	Real_CopyFileA		(LPCSTR, LPCSTR, BOOL) ;

//BOOL	WINAPI	Hook_CopyFileW		(LPCWSTR, LPCWSTR, BOOL) ;
//BOOL	WINAPI	Real_CopyFileW		(LPCWSTR, LPCWSTR, BOOL) ;

//BOOL	WINAPI	Hook_CopyFileExA	(LPCSTR, LPCSTR, LPPROGRESS_ROUTINE,
//					 LPVOID, LPBOOL, DWORD) ;
//BOOL	WINAPI	Real_CopyFileExA	(LPCSTR, LPCSTR, LPPROGRESS_ROUTINE,
//					 LPVOID, LPBOOL, DWORD) ;

//BOOL	WINAPI	Hook_CopyFileExW	(LPCWSTR, LPCWSTR, LPPROGRESS_ROUTINE,
//					 LPVOID, LPBOOL, DWORD) ;
//BOOL	WINAPI	Real_CopyFileExW	(LPCWSTR, LPCWSTR, LPPROGRESS_ROUTINE,
//					 LPVOID, LPBOOL, DWORD) ;

//HANDLE	WINAPI	Hook_CreateFileA	(LPCSTR, DWORD, DWORD, 
//					LPSECURITY_ATTRIBUTES,
//					DWORD, DWORD, HANDLE) ;

HANDLE	WINAPI	Hook_CreateFileW	(LPCWSTR, DWORD, DWORD, 
					LPSECURITY_ATTRIBUTES,
					DWORD, DWORD, HANDLE) ;

//BOOL	WINAPI	Hook_DeleteFileA	(LPCSTR) ;
//BOOL	WINAPI	Real_DeleteFileA	(LPCSTR) ;

BOOL	WINAPI	Hook_DeleteFileW	(LPCWSTR) ;
BOOL	WINAPI	Real_DeleteFileW	(LPCWSTR) ;

//BOOL	WINAPI	Hook_MoveFileA		(LPCSTR, LPCSTR) ;
//BOOL	WINAPI	Real_MoveFileA		(LPCSTR, LPCSTR) ;

//BOOL	WINAPI	Hook_MoveFileW		(LPCWSTR, LPCWSTR) ;
//BOOL	WINAPI	Real_MoveFileW		(LPCWSTR, LPCWSTR) ;

//BOOL	WINAPI	Hook_MoveFileExA	(LPCSTR, LPCSTR, DWORD) ;
//BOOL	WINAPI	Real_MoveFileExA	(LPCSTR, LPCSTR, DWORD) ;

//BOOL	WINAPI	Hook_MoveFileExW	(LPCWSTR, LPCWSTR, DWORD) ;
//BOOL	WINAPI  Real_MoveFileExW	(LPCWSTR, LPCWSTR, DWORD) ;

//BOOL	WINAPI	Hook_MoveFileWithProgressA	(LPCSTR, LPCSTR,
//						 LPPROGRESS_ROUTINE,
//						 LPVOID, DWORD) ;
//BOOL	WINAPI	Real_MoveFileWithProgressA	(LPCSTR, LPCSTR,
//						 LPPROGRESS_ROUTINE,
//						 LPVOID, DWORD) ;

BOOL	WINAPI	Hook_MoveFileWithProgressW	(LPCWSTR, LPCWSTR,
						 LPPROGRESS_ROUTINE,
						 LPVOID, DWORD) ;
BOOL	WINAPI	Real_MoveFileWithProgressW	(LPCWSTR, LPCWSTR,
						 LPPROGRESS_ROUTINE,
						 LPVOID, DWORD) ;


#endif
